<
language> (Originally "
CAML" - Categorical Abstract Machine
Language) A version of
ML by G. Huet, G. Cousineau, Ascander
Suarez, Pierre Weis, Michel Mauny and others of
INRIA and
ENS.
CAML is intermediate between
LCF ML and
SML [
in
what sense?]. It has
first-class functions, {static type
inference} with
polymorphic types, user-defined {variant
types} and
product types, and
pattern matching. It is
built on a proprietary run-time system.
The
CAML V3.1 implementation added
lazy and
mutable data
structures, a "
grammar" mechanism for interfacing with the
Yacc parser generator,
pretty-printing tools,
high-performance
arbitrary-precision arithmetic, and a
complete library.
CAML V3 is often nicknamed "heavy
CAML",
because of its heavy memory and CPU requirements compared to
Caml Light.
in 1990 Xavier Leroy and Damien Doligez designed a new
implementation called
Caml Light, freeing the previous
implementation from too many experimental high-level features,
and more importantly, from the old Le_Lisp back-end.
Following the addition of a
native-code compiler and a
powerful
module system in 1995 and of the
object and
class layer in 1996, the project's name was changed to
Objective Caml.
[
"The CAML Reference Manual", P. Weis et al, TR INRIA-ENS,
1989].
(2003-04-12)